常见CLI工具使用速查

Docker常用指令及参数

docker [OPTIONS] COMMAND

  • search [OPTIONS] TERM: 搜索镜像, 比如sudo docker search httpd.

  • pull [OPTIONS] NAME[:TAG|@DIGEST]: 拉取指定镜像, 比如docker pull ubuntu:20.04.

  • images: 列出本地的镜像.

  • attach [OPTIONS] CONTAINER: 附加到某个容器, 比如刚通过CTRL+P+Q从容器中退出, 再通过attach附加回去.

  • exec [OPTIONS] CONTAINER COMMAND [ARG...]: 在容器内执行指令, 通常用于开启bash

    • --privileged: 给予容器真正的root权限.
    • -u: 指定执行的用户.
    • -w: 指定工作目录.
    • -t: 分配一个伪终端, 用于执行bash等交互式CLI程序.
    • -i: 保持容器的stdin开启, 使容器能够接受外部输入, 搭配-i使用.
    • -d: 后台运行, 不进入容器. 后台容器可以使用 attach来进入.
  • container COMMAND

    • prune: 清除所有已停止的容器.
    • ls: 列出容器, 默认是正在运行的容器, 加上-a列出所有容器.
  • run [OPTIONS] IMAGE [COMMAND] [ARG...]

    exec的参数和run的参数是重合的, 这里只写了和exec不一样的参数.

    • -p: 设置端口映射, 比如将宿主机的80端口映射到容器的80端口, 使用-p 80:80.
    • -v: 挂载宿主机目录到容器内, 保证容器销毁数据不丢失并实现方便的配置. 例如-v /home/x2658y/wwwroot:/usr/local/apache2/htdocs实现将宿主机的网站目录映射到容器的网站根目录里, 无需进入容器和进行拷贝.
    • --name: 取名字, 便于进行操作, 等效于容器ID.
    • --net: 设置网络模式, 可取host, container, bridge, none. host模式可以使用宿主机网络, 无需端口映射, container模式可以与另一个容器共享网络, 默认模式是 bridge, 宿主机访问容器需要进行端口映射.
  • ps [OPTIONS]: 列出容器, -a显示所有容器, 默认只显示正在运行的.

  • rm [OPTIONS] CONTAINER [CONTAINER...]: 删除已停止的容器, -f可以强行删除正在运行的容器.

  • start [OPTIONS] CONTAINER [CONTAINER...]: 启动容器

    没有-t选项, 伪终端由run或者exec来分配.

    • -a: 附加到开启的容器.
    • -i: 开启stdin, 使容器能够接受输入.
  • restart [OPTIONS] CONTAINER [CONTAINER...]: 重启容器, 重启后在后台运行.

  • stop [OPTIONS] CONTAINER [CONTAINER...]: 停止运行容器, 正常停止.

  • kill [OPTIONS] CONTAINER [CONTAINER...]: 杀死容器, 强行停止.

未完待续